home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- LE LANGAGE CLEO
-
-
-
-
-
- Version: 1.00 (Dec 1992)
- Auteur : DIALLO Barrou
-
-
- Introduction
-
- Ce langage est un projet à long terme qui doit deboucher sur un
- logiciel de traitement d'images assorti d'un logiciel de synthèse
- d'images (en phong et lancé de rayons).
-
- But de ce langage:
-
- Eh oui, encore un langage!
- N'est-il pas agréable de pouvoir demander les mêmes choses a un
- même programme sur des machines différentes? Entièrement écrit en
- langage C Ansi, ce programme sera le plus portable possible (Il a
- déjà été testé sur PC et sous UNIX (HP-UX).
- Peut-etre verra-t-il un jour naitre une interface graphique sur
- Amiga, chose déjà possible sous Unix avec Xlib (X11R4).
-
- Déroulement du projet:
-
- 1. Création d'un langage portable basé sur des concepts algo-
- rithmiques simples (comme le Pascal)
- 2. Agrémenter ce langage de fonctions spécifiques au traitement
- d'images et à la synthèse d'image.
-
- Version 1.0:
-
- Les outils algorithmiques sont en place (boucles , variables...),
- reste à implementer les fonctions liées aux images. L'interet de cette
- version reste purement lié à la conception d'un langage évolué en C.
-
- Versions à venir:
-
- Les bibliothèques de synthèse et de traitement sont en cours de
- développement.
- Y seront inclus dans la partie Synthèse :la création, le rendu et
- l'animation de scenes 3d, de paysages fractals, de plantes naturelles.
- Dans le domaine du traitement d'images, nous y trouverons tous les
- outils de base quant à l'amélioration, le réhaussement de constraste
- des images en niveaux de gris et en couleurs, en passant par la
- transformée de Fourier et la segmentation numérique.
-
- La prochaine version est prévue pour le mois de Mars 1993.
-
-
- Contenu de la disquette:
-
- cleo:/
- Author (Nom et Adresse de l'auteur)
- makefile (Regles de compilation sur Amiga)
- /bin
- cleo (Executable du compilateur)
- inter (Executable de l'Interpréteur)
- /etc
- Cleo_exe_cfg (Fichier de Configuration Interpréteur)
- Cleo_int_cfg (Fichier de Configuration compilateur)
- /cleobin (Codes Executables de cleo)
- cleo.out (Code Executable de cleo par défaut)
- /include (Codes Include du compilateur)
- /source (Codes Sources du compilateur)
- /obj (Codes Objets.o des programmes)
- /examples (Quelques exemples de démonstration)
- /inter
- makefile (Regles de compilation sur Amiga)
- /include (Codes Include de l'interpréteur)
- /source (Codes Sources de l'interpréteur)
-
- Comment peut-on recompiler Cleo sur sa machine?
-
- 1. Créer un répertoire du nom que vous voulez, 'rep' par exemple,
-
- 1> Makedir chemin/rep
-
- 2. Sous Shell, taper:
-
- 1> Assign CLEO: chemin/rep
-
- 3. Copier toute l'arborescence de Cleo dans 'rep':
-
- 1> copy df0:cleo CLEO: all
-
- 4. Indiquer à AmigaDos un chemin de recherche:
-
- 1> path CLEO:bin add
-
- 5. Editer les fichiers CLEO:makefile et CLEO:inter/makefile
- Modifier le chemin d'accès derrière PROJET = ...
-
- 6. Assurez-vous d'avoir bien installer votre compilateur C Aztec 5.01
-
- 7. Taper pour compiler:
-
- 1> cd CLEO:
- 1> make
- 1> cd inter
- 1> make
- 1> cd /
-
- Si tout c'est bien passé, la langage cleo est installé, et près à
- l'emploi.
-
-
- Compilons et éxècutons un exemple:
-
- 1> cleo examples/hello.cl
- 1> inter
-
- Ceci compile et execute le fameux 'Hello world'
-
- Remarque:
- la premiere commande a compilé le programme source examples/hello.cl,
- elle a placé le code objet dans le tiroir CLEO:cleobin.
- Puisque le nom de celui-ci n'a pas été spécifié par ' -o nom', il
- s'appelle cleobis.out.
- C'est ce dernier qu'ira chercher la commande 'inter' si aucun nom ne
- lui est spécifié dans la ligne de commande.
-
- ex:
-
- 1> cleo examples/trigo.cl -oTrigo.exe
- 1> inter Trigo.exe
-
- Ceci compile examples/trigo.cl en un fichier nommé Trigo.exe et
- l'exécute.
-
- Apercu du Langage:
-
- Les Types:
- La place des types de Cleo dépends complètement de la machine
- sur laquelle il a été compilé et du compilateur utilisé.
-
- 1. LONGREAL ( = double en langage C )
- 2. REAL ( = float en langage C )
- 3. LONGINT ( = long int en langage C )
- 4. INTEGER ( = int en langage C )
- 5. CHAR ( = char en langage C )
- 6. STRING
- ex:
- str : STRING;
- str2 : STRING;
-
- str := 'Hello World!' ;
-
- str2 : =str;
- writeln(str2);
-
- 7. BOOLEAN ( = 1 octet non signé )
- 8. POINT2D ( = 2 floats en langage C)
- ex:
- pnt : POINT3D;
-
- pnt.x := 111; pnt.y := 222;
- writeln( ' coords(x y) =' , pnt.x, ' ', pnt.y );
-
- 9. POINT3D ( = 3 floats en langage C)
- ex:
-
- pnt1, pnt2 : POINT3D;
-
- pnt1.x := 111; pnt1.y := 222; pnt1.z := 333;
- pnt2 := pnt1;
- writeln(' y= ', pnt2.y);
-
- 10. RGB ( = 3 unsigned char en langage C)
- ex:
- col : RGB;
-
- col.r := 111; col.g := 222; col.b := 333;
- writeln(' red = ', col.r);
-
- 11. ARRAY ... OF CHAR, OF INTEGER, OF REAL, OF BOOLEAN,
- OF POINT3D, OF POINT2D, OF RGB.
-
- Attention: les tableaux doivent dans cette version commencer
- impérativement à 1.
-
- Operateurs Mathématiques:
-
- +, -, /, * .
- % , mod : modulo
-
- Operateurs Logiques:
-
- And, Or, Xor.
-
- Priorités des opérateurs:
-
- (Par Ordre décroissant)
- * / AND MOD DIV
- + - OR
- < <= => > <>
-
- Fonctions Mathématiques:
-
- abs , atan, acos, asin, cosh, sinh,
- cos, sin, exp, ln, sqr,
- sqrt, inv, rnd, tan, tanh,
-
-
- Autres fonctions:
-
- odd(x) : retourne 1 si x est Pair
- sinon retourne 0
- even(x) : retourne 1 si x est Pair
- sinon retourne 0
- pred(x) : retourne le prédecesseur de x dans l'ordre ordinal
- succ(x) : retourne le successeur of x dans l'ordre ordinal
- int(x) : retourne la partie entiere de x
- frac(x) : retourne la partie decimale de x
-
-
-
-
-